Давайте посмотрим, что происходит при связывании элемента управления и переменной набора записей при нашем Foreign классе.
void CTestDAOForeignDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTestDAOForeignDlg)
DDX_FieldText(pDX, IDC_EDIT1, m_pSet->m_Text, m_pSet);
//}}AFX_DATA_MAP
}
Функция DDX_FieldText управляет int, short, long, DWORD, CString, float, double, BOOL, или BYTE типами данных при обмене между редактирующимся элементом управления диалога и членами данных recordset.

Теперь нам нужно подключить функции к нашему классу Set.
// DaoMySet.h : header file // #include "afxdao.h" //////////////////////////// // CDaoMySet DAO recordset
Вы помните что в конструктору класс диалога наш класс набора записей установлен как NULL, так не пойдет. Объект нужно создать.
CTestDAOForeignDlg::CTestDAOForeignDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTestDAOForeignDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTestDAOForeignDlg)
m_pSet = NULL;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_pSet=new CDaoMySet(); // новый обьект
m_pSet->Open(); // открыть
}
Теперь при запуске программы у нас в элементу управления будет первая запись.

Но нам бы нужно удалить динамический объект. Удалим.
BOOL CTestDAOForeignDlg::DestroyWindow()
{
m_pSet->Close();
delete m_pSet;
CDialog::DestroyWindow();
return TRUE;
}